from api.base import Base
from loguru import logger


# 维护的是管理员相关接口
class UserManagerApi(Base):

    # 构造方法
    def __init__(self):
        # 将该模块下所有URL进行初始化
        self.add_usr_url = self.get_url('/admin/admin/create')      # 新增接口地址
        self.edit_user_url = self.get_url('/admin/admin/update')
        self.delete_user_url = self.get_url('/admin/admin/delete')
        self.search_user_url = self.get_url('/admin/admin/list','page=1&limit=20&sort=add_time&order=desc')

    # 新增管理员
    def add_user(self,username,password,**kwargs):
        """
        请求新增接口 ，返回的是响应体数据
        :return:
        """
        # 1. 定义一个请求体
        user_data = {"username":username,"password":password}
        # 2. 判断kwargs是否传入数据
        if kwargs:
            logger.info("添加管理员的可选参数为:{}".format(kwargs))
            user_data.update(kwargs)        # 将kwargs字典中的数据更新到user_data
        return self.post(self.add_usr_url,user_data)        # 返回响应体数据

    # 修改管理员
    def update_user(self,id,username,password,**kwargs):
        """
        请求修改接口 ，
        :return:
        """
        # 1. 定义一个请求体
        user_data = {"id":id,"username":username,"password":password}
        if kwargs:
            user_data.update(kwargs)
        return self.post(self.edit_user_url,user_data)

    # 删除管理员
    def delete_user(self,id,username,**kwargs):
        """
        请求删除接口
        :param id:
        :param username:
        :param kwargs:
        :return:
        """
        user_data = {"id":id,"username":username}
        if kwargs:
            user_data.update(kwargs)
        return self.post(self.delete_user_url,user_data)

    # 查询管理员
    def search_user(self):
        return self.get(self.search_user_url)


if __name__ == '__main__':
    pass